Many organizations operate computer networks as part of their operations. An organization may, for example, operate a data center in which multiple devices, such as servers, data stores, and other devices communicate with one another according to the needs of the organization. In order to enable communication among the various devices of a network, networks often include devices, such as routers, that are able to receive network traffic and forward the received traffic either to its intended destination or to another device along the way to the intended destination.
The topology of a network may vary over time. Devices in the network, for example, may become inoperable due to maintenance or failure. Devices may be added or removed from a network depending on changing needs. As a result, devices in the network are often updated in order to maintain the ability to route network traffic despite the network changes. Various conventional protocols may utilize algorithms that enable network devices to route traffic efficiently and effectively. Such algorithms may be used repeatedly to ensure that network devices are able to route network traffic according to a current state of the network. These conventional protocols, however, often require network devices to process large amounts of information about a network's topology, thereby consuming a substantial amount of computing resources as well as requiring network devices to be capable of the requisite processing.
Same numbers are used throughout the disclosure and figures to reference like components and features, but such repetition of numbers is for purposes of simplicity of explanation and understanding, and should not be viewed as a limitation on the various embodiments.